#ifndef MOVE_IN_GROUP_H
#define MOVE_IN_GROUP_H

#include "Vector2D.h"
#include "GoalComposite.h"
#include "Group.h"

class Goal_MoveInGroup : public Goal_Composite<Character>
{
private:

	// The character to be stalked...er followed.
	Character* m_pLeader; 
	
	// The offset at which the character will follow 
	Vector2D m_vOffset; 

	// The destination for the group.
	Vector2D m_vDestination;

	// The Group to which this character belongs
	Group* m_pGroup;

public:
	Goal_MoveInGroup(Character* owner,
						Group* group);

	// Must be implemented:
	void Activate();
	int Process();
	void Terminate();

	bool HandleMessage(const Message& msg);

};

#endif